Bootloader برای میکروکنترلر نوع PIC18F4550/2455

برای اینکه بتوانیم از کامپیوتر خود در ارتباط با میکروکنترلرها استفاده کنیم به یک کانال ارتباطی احتیاج داریم. در سالهای پیش برای این منظور از پورت سری و موازی Serial-Parallel Port استفاده میشد ولی امروزه این پورت‌ها دیگر وجود ندارد و همه از USB استفاده میکنند.
من در این نوشتار سعی خواهم کرد برای شما بطور خلاصه طرزکار و قابلیت‌های یک نرم افزار را شرح دهم که اگر علاقمند به طراحی مدارات و نرم افزار برای میکروکنترلر از نوع PIC باشید کار شما را بسیار آسان خواهد کرد.
شرکت Microchip برای این کنترولرها (PIC18F4550 یا PIC18F2455 ) یک USB Bootloader در اختیار شما میگذارد و همانطور که از نام آن مشخص است فقط یک Bootloader است و اگر میخواهید در برنامه اصلی (Firmeware) خود هم از ارتباط usb استفاده کنید باید خودتان اینترفیس USB را دوباره برنامه ریزی کنید که این علاوه بر کار اضافه از بین رفتن حداقل حدود 2 کیلو بایت از حافظه اصلی فلاش را باعث میشود.
اما این برنامه را همانطور که در قسمت Boot block قرار میدهید و از آن مثل یک Bootloader استفاده میکنید در برنامه اصلی هم میتوانید از آن برای ارتباط usb استفاده کنید.
اضافه بر این دارای چند خاصیت دیگر, مثل خواندن ونوشتن RAM و EEPROM و تغیر حافظه فلاش نیز میباشد.
این نرم افزار به زبان Assembler نوشته شده چون بنظر من برای استفاده در میکروکنترلر کم حجم‌تر و بنابراین سریعتر از یک زیان اصلی مثل #C++, Basic, C و غیره است.

نقشه مدار دستگاه :
من برای آزمایش یک فیبر چاپی درست کردم که تصویر آنرا می بینید.
برای اتصال USB, کابل یک موش خراب را استفاده کرده ام, شما میتوانید از یک USB-connector و کابل مربوطه استفاده کنید.
(برای بزرگتر شدن روی عکس کلیک کنید)

قطعات استفاده شده:

همانطور که در نقشه می بینید تمامی پایه های میکروکنترلر آزاد هستند و هیچ محدودیتی از نظر سخت افزاری در مورد آن ندارید.
فقط در قسمت نرم افزار بخاطر USB کمی محدودیت دارید و آنهم در صورتی که برنامه شما بخواهد از USB استفاده کند. (در ادامه در این مورد توضیح داده میشود)
این توضیحات برای اتصالات این مدار است.
CON1 : منبع تغذیه خارجی ( 5 ولت ) برای زمانی که مدار شما بیشتر از 100 میلی آمپر مصرف داشته باشد, چون در حالت معمولی اتصال USB برای این مقدار جریان تنطیم شده است.
CON2 : برای برنامه ریزی با برنامه ریزهای شرکت مایکروچیپ (مانند MPLAB ICD3) یا برنامه ریز دیگری که قادر باشد این کنترلر را برنامه ریزی کند.
Jumper : انتخاب منبع تغذیه داخلی( USB ) یا خارجی
SW 1 : برای فعال کردن BootLoader , کلید فشاری یا Jumper
SW 2 : برای Reset کردن
برای فعال کردن Bootloader باید هر دو کلید SW1 و SW2 را با هم فشاردهید و SW2 (Reset) را اول رها کنید و حدود 1 ثانیه بعد SW1 را رها کنید و اگر SW1 بصورت Jumper باشد باید آنرا وصل کنید و Reset را فشار دهید.
از CON2 فقط یکبار, آنهم در موقعی که برای اولین بار برنامه Bootloader در حافظه ضبط میشود, استفاده میشود.
Optional : این دیود نورانی دلخواه است. در نرم افزار تعریف شده و زمانی که BootLoader فعال است چشمک میزند در ضمن برای آزمایش مدار نیز استفاده شده است.( توضیح در ادامه)

توجه در این وب سایت هر جا از مدار MBL سخن گفته میشود منظور این مدار است.

صفحه بعدی بعدی بالا